package com.ctg.itrdc.sysmgr.portal.api.dto;

import java.io.Serializable;
import java.sql.Timestamp;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;


public class FuncCompDTO extends BaseDTO implements Serializable {
	private static final long serialVersionUID = 1598179584838497003L;

	private Boolean hadPriv;
	
	public Boolean getHadPriv() {
		return hadPriv;
	}

	public void setHadPriv(Boolean hadPriv) {
		this.hadPriv = hadPriv;
	}
	
	private Long privGrantId;
	
	public Long getPrivGrantId() {
		return privGrantId;
	}

	public void setPrivGrantId(Long privGrantId) {
		this.privGrantId = privGrantId;
	}

	private Long privId;

	public Long getPrivId() {
		return privId;
	}

	public void setPrivId(Long privId) {
		this.privId = privId;
	}
	
	/**
	 * 模块组件标识，主键
	 */
	private Long compId;

	/**
	 * 创建人
	 */
	private Long createStaff;

	/**
	 * 修改时间
	 */
	private Timestamp updateDate;

	/**
	 * 菜单标识，主键
	 */
	@NotNull
	private Long menuId;

	/**
	 * 模块组件URL链接地址
	 */
//	@NotBlank
	private String urlAddr;

	/**
	 * 展示模式，LOVB001禁用002隐藏
	 */
	private String showMode;

	/**
	 * 模块组件状态修改时间
	 */
	private Timestamp statusDate;

	/**
	 * 租户标识。
	 */
	private Long tenantId;

	/**
	 * 分片键1，固定值-1。
	 */
	private Long shard1;

	/**
	 * 修改人
	 */
	private Long updateStaff;

	/**
	 * 分片键2，固定值-1。
	 */
	private Long shard2;

	/**
	 * 控件的界面层ID，SELECT_RULE=”ID”，用ID选择器进行选择
	 */
	private String selectValue;

	/**
	 * 模块组件控制方式，LOVB001默认可用授权则禁用,002默认禁用授权后则可用
	 */
	private String compCtrl;

	/**
	 * 选择规则，LOVBID：ID选择；CLASS：CLASS选择
	 */
	private String selectRule;

	/**
	 * 模块组件状态
	 */
	@NotBlank
	private String statusCd;

	/**
	 * 模块组件类型，LOVB
	 */
	private String compType;

	/**
	 * 模块组件名称
	 */
	@NotBlank
	private String compName;

	/**
	 * 模块组件描述
	 */
	private String compDesc;

	/**
	 * 创建时间
	 */
	private Timestamp createDate;


	public void setCompId(Long compId){
		this.compId = compId;
	}

	public Long getCompId(){
		return this.compId;
	}

	public void setCreateStaff(Long createStaff){
		this.createStaff = createStaff;
	}

	public Long getCreateStaff(){
		return this.createStaff;
	}

	public void setUpdateDate(Timestamp updateDate){
		this.updateDate = updateDate;
	}

	public Timestamp getUpdateDate(){
		return this.updateDate;
	}

	public void setMenuId(Long menuId){
		this.menuId = menuId;
	}

	public Long getMenuId(){
		return this.menuId;
	}

	public void setUrlAddr(String urlAddr){
		this.urlAddr = urlAddr;
	}

	public String getUrlAddr(){
		return this.urlAddr;
	}

	public void setShowMode(String showMode){
		this.showMode = showMode;
	}

	public String getShowMode(){
		return this.showMode;
	}

	public void setStatusDate(Timestamp statusDate){
		this.statusDate = statusDate;
	}

	public Timestamp getStatusDate(){
		return this.statusDate;
	}

	public void setTenantId(Long tenantId){
		this.tenantId = tenantId;
	}

	public Long getTenantId(){
		return this.tenantId;
	}

	public void setShard1(Long shard1){
		this.shard1 = shard1;
	}

	public Long getShard1(){
		return this.shard1;
	}

	public void setUpdateStaff(Long updateStaff){
		this.updateStaff = updateStaff;
	}

	public Long getUpdateStaff(){
		return this.updateStaff;
	}

	public void setShard2(Long shard2){
		this.shard2 = shard2;
	}

	public Long getShard2(){
		return this.shard2;
	}

	public void setSelectValue(String selectValue){
		this.selectValue = selectValue;
	}

	public String getSelectValue(){
		return this.selectValue;
	}

	public void setCompCtrl(String compCtrl){
		this.compCtrl = compCtrl;
	}

	public String getCompCtrl(){
		return this.compCtrl;
	}

	public void setSelectRule(String selectRule){
		this.selectRule = selectRule;
	}

	public String getSelectRule(){
		return this.selectRule;
	}

	public void setStatusCd(String statusCd){
		this.statusCd = statusCd;
	}

	public String getStatusCd(){
		return this.statusCd;
	}

	public void setCompType(String compType){
		this.compType = compType;
	}

	public String getCompType(){
		return this.compType;
	}

	public void setCompName(String compName){
		this.compName = compName;
	}

	public String getCompName(){
		return this.compName;
	}

	public void setCompDesc(String compDesc){
		this.compDesc = compDesc;
	}

	public String getCompDesc(){
		return this.compDesc;
	}

	public void setCreateDate(Timestamp createDate){
		this.createDate = createDate;
	}

	public Timestamp getCreateDate(){
		return this.createDate;
	}

	public Long getId() {
		return compId;
	}
	
	public void setId(Long id) {
		this.compId = id;
	}
    
	public FuncCompDTO() {
		super();
    }
	
	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof FuncCompDTO)) {
			return false;
		}
		FuncCompDTO rhs = (FuncCompDTO) object;
		return new org.apache.commons.lang3.builder.EqualsBuilder()
				.append(this.compId, rhs.compId).isEquals();
	}
	
	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new org.apache.commons.lang3.builder.HashCodeBuilder(1773715331,
				-799713879).append(this.compId).toHashCode();
	}
}
